<?php
namespace Common\Model;
//	请求引入框架里面的模型类
use Hdphp\Model\Model;
//	商品模型
class Goods extends Model {

	protected $table = 'shop_goods';
//  自动验证
	protected $validate = array(
	 array('gname', 'required', '商品名称不能为空', 3, 3),
	 array('gname','unique','商品已存在',3,3),
	 array('shopprice', 'required', '商品价格不能为空', 3, 3),
	);
//   自动完成
	protected $auto = array( 
	array('time', 'time', 'function', 3, 1),
	 );
//	   添加商品表
	public function store() {
//	  商品字段自动验证并添加到数据库
		if (!$this -> create()) return FALSE;
		 $gid=$this->add();
		
//	添加商品详情表
//  图片转换成字符串
     	$_POST['big']=implode(',',$_POST['big']);
		$detailModel=new \Common\Model\Goods_detail;
		if(!$detailModel->create()){
				$this->error=$detailModel->getError();
				return FALSE;
		}
		$detailModel->data['gid']=$gid;
		$detailModel->add();
//	添加商品属性表
		$goodsAttrModel=new \Common\Model\Goods_attr;
//		添加商品属性表的属性数据
		foreach($_POST['attr'] as $k=>$v){
			if($v){
				$data=array(
					'gtvalue'=>$v,
					'taid'=>$k,
					'gid'=>$gid
				);
				$goodsAttrModel->add($data);
			}
		}
			
//		添加商品属性表规格数据			
		foreach($_POST['spec'] as $k=>$v){
			foreach($v['gtvalue'] as $kk=>$vv){
				if($vv){
					$data=array(
						'gtvalue'=>$vv,
						'taid'=>$k,
						'gid'=>$gid,
						'added'=>$v['added'][$kk],//附加价格
						);
//						p($data);die;
					$goodsAttrModel->add($data);
				}
			}
		}
		return true;
	}
    public function edit(){
 		if(!$this->create()) return FALSE;
//			var_dump($this->data);die;
			$this->save();
			$gid=Q('post.gid',0,'intval');
//			商品详情表
			$_POST['big']=implode(',',$_POST['big']);
			$detailModel=new \Common\Model\Goods_detail;
			if(!$detailModel->create()){
				$this->error=$detailModel->getError();
				return FALSE;
			}
			$detailModel->data['gid']=$gid;
//			如果没有主键，需要有where条件才能修改,
			$detailModel->where('gid',$gid)->save();
//			商品属性表
			$goodsAttrModel=new \Common\Model\Goods_Attr;
			$goodsListModel=new \Common\Model\GoodsList;
			$goodsListModel->where('gid',$gid)->delete();
			$goodsAttrModel->where('gid',$gid)->delete();
//		           添加商品属性表的属性数据
			foreach($_POST['attr'] as $k=>$v){
				if($v){
					$data=array(
						'gtvalue'=>$v,
						'taid'=>$k,
						'gid'=>$gid
					);
					$goodsAttrModel->add($data);
				}
			}
				
//		添加商品属性表规格数据			
			foreach($_POST['spec'] as $k=>$v){
				foreach($v['gtvalue'] as $kk=>$vv){
					if($vv){
						$data=array(
							'gtvalue'=>$vv,
							'taid'=>$k,
							'gid'=>$gid,
							'added'=>$v['added'][$kk],//附加价格
							);
//						p($data);die;
						$goodsAttrModel->add($data);
					}
				}
			}
			return true;
			
 }

}
?>